#ifndef ROAMINGGANGSTER_H
#define ROAMINGGANGSTER_H

#include "Controller.h"
#include "Mob.h"

class RoamingGangster : public Controller
{
    public:
    static const char ROAMINGGANGSTERCHAR = 'R';

        RoamingGangster( Mob* mob_ = 0, Direction d = NORTH, int turns_ = 0 )
            :Controller( mob_ ), direction(d), turns(turns_), powerSwitch( false )
        {}

        char getType() const { return ROAMINGGANGSTERCHAR; }

          // does the thinking, moving and killing
        bool action( QKeyEvent* event = 0 );
    protected:
    private:
          // direction in which mob is moving
        Direction direction;
          // number of turns mob will be moving in that direction
        int turns;
          // is used to switch directions of mob in case
          // he reaches the end of the map
        bool powerSwitch;
};

#endif // ROAMINGGANGSTER_H
